Niveles de la Malla Societaria
Este endpoint recorre la malla societaria completa de un RUT y devuelve cuántos niveles tiene y cuántas relaciones hay en cada uno, sin el detalle de las relaciones. Úsalo para planificar el recorrido de Capas de la Malla Societaria antes de pedir cada nivel.
- Consultar un RUT ya cargado en tu cuenta no genera costos adicionales.
- El RUT debe estar cargado en tu cuenta antes de la consulta (ver Carga de RUT).
- Requiere que tu plan incluya el ayudante Legal.
- Los niveles se construyen con las mismas reglas que Capas de la Malla Societaria.
Detalle de API
Request
- URL:
/helper/legal/{rut}/capasMallaSocietaria/niveles?modo={modo} - Método:
GET
Parámetros de ruta (path)
| Valor | Tipo | Es requerido | Descripción |
|---|---|---|---|
rut | string | Sí | RUT a consultar, en formato "12345678-9". |
Parámetros de consulta (query)
| Valor | Tipo | Es requerido | Descripción |
|---|---|---|---|
modo | string | No | Forma de recorrer la malla: beneficiariosFinales (por defecto) o ampliada. Usa el mismo valor que en las consultas a Capas de la Malla Societaria. |
Ejemplo request con curl
curl -X 'GET' \
'https://prod.api.thesheriff.cl/api/clients/v3/helper/legal/76123456-0/capasMallaSocietaria/niveles?modo=beneficiariosFinales' \
-H 'accept: application/json' \
-H 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9EjemploDeToken123'
Response
Diferencias por tipo de persona
La estructura es la misma para personas naturales y jurídicas. Como en Capas, lo que cambia es el significado del nivel 1:
| Campo | Persona jurídica | Persona natural |
|---|---|---|
nombre | Razón social de la sociedad | Nombre de la persona |
total del nivel 1 | Cantidad de relaciones directas de la sociedad (socios, accionistas u otros roles) | Cantidad de sociedades en las que participa la persona |
Respuesta para persona jurídica
Success
-
Status code: 200
-
Example response body:
{
"success": true,
"data": {
"rut": "76123456-0",
"nombre": "EMPRESA FICTICIA SPA",
"modo": "beneficiariosFinales",
"truncada": false,
"nivelMaximo": 3,
"nivelesDisponibles": [
{ "nivel": 1, "total": 2 },
{ "nivel": 2, "total": 3 },
{ "nivel": 3, "total": 1 }
],
"ultimaActualizacion": "15-08-2026 13:45:10"
}
}
Respuesta para persona natural
El nivel 1 cuenta las sociedades en las que participa la persona; el nivel 2, los demás socios de esas sociedades.
Success
-
Status code: 200
-
Example response body:
{
"success": true,
"data": {
"rut": "11111111-1",
"nombre": "SOCIO FICTICIO UNO",
"modo": "beneficiariosFinales",
"truncada": false,
"nivelMaximo": 2,
"nivelesDisponibles": [
{ "nivel": 1, "total": 2 },
{ "nivel": 2, "total": 4 }
],
"ultimaActualizacion": "15-08-2026 13:45:10"
}
}
Respuesta sin relaciones
Un RUT sin relaciones registradas responde 200 con nivelMaximo en 0:
{
"success": true,
"data": {
"rut": "76123456-0",
"nombre": null,
"modo": "beneficiariosFinales",
"truncada": false,
"nivelMaximo": 0,
"nivelesDisponibles": [],
"ultimaActualizacion": null
}
}
Campos de la respuesta
Los campos son los mismos para personas naturales y jurídicas.
| Campo | Tipo | Descripción |
|---|---|---|
success | bool | Indica si la operación fue exitosa. |
data | object | Niveles de la malla societaria del RUT. |
Campos dentro de data:
| Campo | Tipo | Descripción |
|---|---|---|
rut | string | RUT consultado, normalizado sin puntos (formato "12345678-9"). |
nombre | string | Razón social o nombre del RUT consultado; null si no está en las fuentes legales. |
modo | string | Modo de recorrido usado: "beneficiariosFinales" o "ampliada". |
truncada | boolean | true si el recorrido se interrumpió antes de completar la malla (ver Mallas truncadas). En ese caso, pueden faltar los niveles más profundos y el total del último nivel puede estar incompleto. |
nivelMaximo | number | Nivel más profundo con relaciones (0 si no hay relaciones). |
nivelesDisponibles | array | Niveles con relaciones y la cantidad de relaciones de cada uno (ver campos anidados). |
ultimaActualizacion | string | Fecha y hora de la última actualización del ayudante Legal (formato "DD-MM-YYYY HH:mm:ss"); null si no hay registro. |
Campos dentro de cada elemento de nivelesDisponibles:
| Campo | Tipo | Descripción |
|---|---|---|
nivel | number | Número de nivel. |
total | number | Cantidad de relaciones en ese nivel. |
Para obtener las relaciones de un nivel, consulta Capas de la Malla Societaria con ese nivel y recorre page desde 1 hasta ceil(total / 100).
Errores
Además de los errores comunes y los de acceso al RUT, este endpoint puede responder:
400 - Parámetros inválidos
El RUT de la ruta o el parámetro modo no son válidos. Corrige el valor indicado en el mensaje y vuelve a enviar la solicitud.
| Cuándo ocurre | Mensaje en error |
|---|---|
| RUT con formato o dígito verificador inválido | El RUT ingresado no es válido. Por favor verifica el formato. |
modo inválido | El campo 'modo' debe ser uno de: [beneficiariosFinales, ampliada]. |
{
"success": false,
"code": 400,
"error": "El campo 'modo' debe ser uno de: [beneficiariosFinales, ampliada]."
}
401 - No autorizado
El token no se envió, expiró o no es válido (ver Errores de autenticación). Si expiró, solicita uno nuevo en Obtener Token.
{
"success": false,
"code": 401,
"error": "El token de autenticación no es válido."
}
403 - RUT sin acceso
El RUT existe en Sheriff, pero no está cargado en tu cuenta. Cárgalo con Carga de RUT antes de consultarlo.
{
"success": false,
"code": 403,
"error": "No tienes permisos para consultar este RUT."
}
403 - Plan sin el ayudante Legal
Tu plan no incluye el ayudante Legal.
{
"success": false,
"code": 403,
"error": "El plan no cuenta con el ayudante legal."
}
404 - RUT no encontrado
El RUT no existe en Sheriff. Cárgalo con Carga de RUT antes de consultarlo.
{
"success": false,
"code": 404,
"error": "El RUT consultado no existe en el sistema."
}
429 - Demasiadas solicitudes
Superaste el límite de solicitudes (ver Rate Limits). Espera los segundos que indica el header Retry-After antes de reintentar.
{
"success": false,
"code": 429,
"error": "Demasiadas solicitudes desde esta API externa, intente más tarde."
}
500 - Error interno del servidor
Ocurrió un error inesperado. Intenta nuevamente más tarde.
{
"success": false,
"code": 500,
"error": "Ocurrió un error interno. Intenta nuevamente más tarde."
}